package com.iflysse.services;

import com.iflysse.pojo.bo.CommonBoResp;
import com.iflysse.pojo.bo.req.ActivityIdBoReq;
import com.iflysse.pojo.bo.req.ActivityStateBoReq;
import com.iflysse.pojo.bo.req.TeachingClassIdBoReq;
import com.iflysse.pojo.bo.req.TestBoReq;
import com.iflysse.pojo.bo.resp.TeachingActivityDetailBoResp;
import com.iflysse.pojo.bo.resp.TeachingActivityListBoResp;
import org.springframework.stereotype.Service;

import java.sql.SQLException;

public interface ActivityService {
    /**
     * 暂存或者发布测试
     * @param testBoReq
     * @return
     */
    CommonBoResp saveOrPublishTest(TestBoReq testBoReq) throws SQLException;


    /**
     * 根据教学班级编号查询教学班级活动
     * @param teachingClassIdBoReq
     * @return
     */
    TeachingActivityListBoResp loadTeachiActivityListByTeachingClassId(TeachingClassIdBoReq teachingClassIdBoReq) throws SQLException;

    /**
     * 根据教学活动编号,获取活动详情
     * @param activityIdBoReq
     * @return
     */
    TeachingActivityDetailBoResp getTeachingActivityDetailByActivityId(ActivityIdBoReq activityIdBoReq);


    /**
     * 根据活动编号,删除活动
     * @param activityIdBoReq
     * @return
     */
    CommonBoResp deleteActivityByActivityId(ActivityIdBoReq activityIdBoReq) throws SQLException;

    /**
     * 更新活动状态,包括暂存后点击发布功能
     * @param activityStateBoReq
     * @return
     * @throws SQLException
     */
    CommonBoResp updateActivityState(ActivityStateBoReq activityStateBoReq) throws SQLException;
}
